/*
package labuladong.binaryTree;

*/
/**
 * @Author: David
 * @Date: 2021/4/21  19:05
 * @Version 1.0
 *//*


*/
/**
 * https://leetcode-cn.com/problems/symmetric-tree/
 * 给定一个二叉树，检查它是否是镜像对称的。
 *//*

public class symmetric_tree {

    public boolean isSymmetric(TreeNode root) {
        return isSymmetric(root, root);
    }

    public boolean isSymmetric(TreeNode root, TreeNode root2) {
        if (null == root && null == root2) {
            return true;
        } else if (null != root || null != root2) {
            return false;
        } else if (root.val != root2.val) {
            return false;
        } else {
            return isSymmetric(root.left, root2.right) && isSymmetric(root.right, root2.left);
        }
    }

    void traverse(int[] arr) {
        for (int i = 0; i < arr.length; i++) {
            // 迭代访问 arr[i]
        }
    }

    */
/* 基本的单链表节点 *//*

    class ListNode {
        int val;
        ListNode next;
    }


    void traverse(ListNode head) {
        for (ListNode p = head; p != null; p = p.next) {
            // 迭代访问 p.val
        }
    }

    void traverse(ListNode head) {
        // 递归访问 head.val
        traverse(head.next)
    }

    */
/* 基本的⼆叉树节点 *//*

    class TreeNode {
        int val;
        TreeNode left, right;
    }

    void traverse(TreeNode root) {
        traverse(root.left);
        traverse(root.right);
    }


    */
/* 基本的 N 叉树节点 *//*

    class TreeNode {
        int val;
        TreeNode[] children;
    }

    void traverse(TreeNode root) {
        for (TreeNode child : root.children) traverse(child)
    }
}
*/
